home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / tools / xsp200_2 / xsp200_2.lzh / XSPmem.s < prev    next >
Text File  |  1996-08-21  |  5KB  |  169 lines

  1.  
  2.     .text
  3.     .even
  4.  
  5. vektor_118_bak:    dc.l    0        * 変更前の V-disp ベクタ
  6. vektor_138_bak:    dc.l    0        * 変更前の CRT-IRQ ベクタ
  7. raster_No_bak:    dc.w    0        * 変更前の CRT-IRQ ラスターNo.
  8. MFP_bak:    dcb.b    $18,0        * 変更前の MFP
  9.  
  10.     .even
  11.  
  12.  
  13. *--------------[ スプライト仮バッファのポインター ]
  14. buff_pointer:
  15.         dc.l    buff_top_adr
  16.  
  17. *--------------[ ユーザー指定帰線期間割り込み ]
  18. vsyncint_sub:    dc.l    dummy_proc    * 割り込み処理サブルーチンアドレス(初期値はダミー)
  19.  
  20. *--------------[ ラスター割り込み関係 ]
  21. hsyncint_sub:    dc.l    dummy_proc    * 割り込み処理サブルーチンアドレス(初期値はダミー)
  22. xsp_chart_ptr:    dc.l    dummy_chart    * XSP側チャートへのポインター(初期値はダミー)
  23. usr_chart_ptr:    dc.l    dummy_chart    * USR側チャートへのポインター(初期値はダミー)
  24. usr_chart:    dc.l    dummy_chart    * USR側チャートへのポインター初期値(USR指定可能)
  25.  
  26. *--------------[ その他 ]
  27. sp_mode:    dc.w    2        * XSPのモード(1~3)
  28.  
  29. R65535:        dc.w    0        * システム内部カウンター
  30.  
  31. write_struct:    dc.l    XSP_STRUCT    * 書換用バッファ管理構造体アドレス
  32. disp_struct:    dc.l    XSP_STRUCT    * 表示用バッファ管理構造体アドレス
  33.  
  34. vsync_count:    dc.w    0        * 帰線期間が来たらインクリする
  35.  
  36. sp_ref_adr:    dc.l    0        * 複合スプライトのリファレンスデータへのポインター
  37.  
  38. pcg_alt_adr:    dc.l    0        * pcg_altへのポインター(ユーザー指定)
  39.  
  40. pcg_dat_adr:    dc.l    0        * PCGデータへのポインター(ユーザー指定)
  41.  
  42. OX_level:    dc.b    0        * OX_tbl水位
  43.     .even
  44. OX_mask_renew:    dc.w    0        * OX_mask 更新があったことを示すフラグ(非0で更新)
  45. OX_chk_top:    dc.l    0        * OX_tbl 検索開始アドレス
  46. OX_chk_ptr:    dc.l    0        * OX_tbl 検索ポインター
  47. OX_chk_size:    dc.w    0        * OX_tbl 検索サイズ-1(dbraカウンターとする)
  48.  
  49. a7_bak1:    dc.l    0        * A7レジスタを保存(レジスタ退避直後)
  50.  
  51. usp_bak:    dc.l    0        * usp 保存
  52.  
  53. XSP_flg:    dc.b    0        * XSP初期化状態のフラグ(8ビット)
  54.                     * bit0 = 組込み状態か?
  55.                     * bit1 = PCG_DAT,PCG_ALT 指定済か?
  56.     .even
  57.  
  58. vertical_flg:    dc.w    0        * 縦画面モードフラグ(非0=縦画面モード)
  59.  
  60.  
  61. *==============================================================
  62.  
  63.     .bss
  64.     .even
  65.  
  66.  
  67. *--------------[ XSP管理構造体(バッファNo.別)]
  68. XSP_STRUCT:
  69.         ds.b    STRUCT_SIZE*3
  70. endof_XSP_STRUCT:
  71.  
  72.  
  73. *----------------[ スプライト仮バッファ & 優先度ソート関係のバッファ ]
  74.  
  75.         ds.b    8        * end_mark(pr=0)
  76. buff_top_adr:    ds.b    8*SP_MAX    * push可能枚数*8バイト
  77. buff_end_adr:    ds.b    8        * end_mark(8バイトの -1)兼 終点ダミーPRブロック
  78.         ds.b    8*SP_MAX    * ソートチェイン作成バッファ
  79.         ds.b    8        * 終点ダミーチェイン
  80.  
  81. pr_top_tbl:    ds.l    64        * PR別先頭テーブル
  82.         ds.l    1        * end_mark用
  83.  
  84.  
  85. *----------------[ ラスター別分割ソート済みスプライト保存バッファ ]
  86.  
  87. *    バッファは表示用・書換用・予備用の合計3本(No.0~2)
  88. *    それぞれ分割ラスター別に4つに細分されます。
  89.  
  90.  
  91. *    [ + $0000 = バッファNo.0 ]
  92. div_buff_0A:    ds.b    8*64        * ラスター分割バッファA
  93.         ds.b    8        * end_mark
  94. div_buff_0B:    ds.b    8*64        * ラスター分割バッファB
  95.         ds.b    8        * end_mark
  96. div_buff_0C:    ds.b    8*64        * ラスター分割バッファC
  97.         ds.b    8        * end_mark
  98. div_buff_0D:    ds.b    8*64        * ラスター分割バッファD
  99.         ds.b    8        * end_mark
  100. div_buff_0E:    ds.b    8*64        * ラスター分割バッファE
  101.         ds.b    8        * end_mark
  102. div_buff_0F:    ds.b    8*64        * ラスター分割バッファF
  103.         ds.b    8        * end_mark
  104. div_buff_0G:    ds.b    8*64        * ラスター分割バッファG
  105.         ds.b    8        * end_mark
  106. div_buff_0H:    ds.b    8*64        * ラスター分割バッファH
  107.         ds.b    8        * end_mark
  108.  
  109.  
  110. *    [ + $1040 = バッファNo.1 ]
  111. div_buff_1A:    ds.b    8*64        * ラスター分割バッファA
  112.         ds.b    8        * end_mark
  113. div_buff_1B:    ds.b    8*64        * ラスター分割バッファB
  114.         ds.b    8        * end_mark
  115. div_buff_1C:    ds.b    8*64        * ラスター分割バッファC
  116.         ds.b    8        * end_mark
  117. div_buff_1D:    ds.b    8*64        * ラスター分割バッファD
  118.         ds.b    8        * end_mark
  119. div_buff_1E:    ds.b    8*64        * ラスター分割バッファE
  120.         ds.b    8        * end_mark
  121. div_buff_1F:    ds.b    8*64        * ラスター分割バッファF
  122.         ds.b    8        * end_mark
  123. div_buff_1G:    ds.b    8*64        * ラスター分割バッファG
  124.         ds.b    8        * end_mark
  125. div_buff_1H:    ds.b    8*64        * ラスター分割バッファH
  126.         ds.b    8        * end_mark
  127.  
  128.  
  129. *    [ + $2080 = バッファNo.2 ]
  130. div_buff_2A:    ds.b    8*64        * ラスター分割バッファA
  131.         ds.b    8        * end_mark
  132. div_buff_2B:    ds.b    8*64        * ラスター分割バッファB
  133.         ds.b    8        * end_mark
  134. div_buff_2C:    ds.b    8*64        * ラスター分割バッファC
  135.         ds.b    8        * end_mark
  136. div_buff_2D:    ds.b    8*64        * ラスター分割バッファD
  137.         ds.b    8        * end_mark
  138. div_buff_2E:    ds.b    8*64        * ラスター分割バッファE
  139.         ds.b    8        * end_mark
  140. div_buff_2F:    ds.b    8*64        * ラスター分割バッファF
  141.         ds.b    8        * end_mark
  142. div_buff_2G:    ds.b    8*64        * ラスター分割バッファG
  143.         ds.b    8        * end_mark
  144. div_buff_2H:    ds.b    8*64        * ラスター分割バッファH
  145.         ds.b    8        * end_mark
  146.  
  147. *    [ + $30C0 = 転送チェイン情報 ]
  148. div_buff_chain:    ds.b    (8*64+8)*8*3
  149.  
  150.  
  151. *----------------[ PCG配置管理(逆参照)テーブル ]
  152.  
  153. *    PCG_No.→パターンNo. 変換テーブルです。
  154.  
  155. pcg_rev_alt:    ds.w    256        * 逆参照 alt 初期値(-1)を書き込むこと
  156.  
  157.  
  158. *----------------[ OXテーブル ]
  159.  
  160. *    各PCGが使用されているかどうかを表すテーブルです。
  161.  
  162. OX_tbl:
  163.         ds.b    256        * 水位情報
  164.         ds.w    1        * end_mark(0)を書き込むこと
  165. OX_mask:
  166.         ds.b    256        * マスク情報(0:off  255:on)
  167.  
  168.  
  169.